1. Field of the Invention
The present invention relates to a storage controller for converting a file access request from a client to a block access request, and sending this block access request to a storage device.
2. Description of the Related Art
Generally speaking, a file server is known as a storage controller that converts a file access request from a client to a block access request, and sends this block access request to a storage device, and a NAS (Network Attached Storage) is known as one type of file server (for example, Japanese Patent Laid-open No. 2007-94681). A NAS receives a file unit access request (hereinafter, “file access request”) from a client, and sends a block unit access request (hereinafter, “block access request”) to a storage device (storage system) in response to this received file access request.
For example, a plurality of paths is established between a storage system and a higher-level device (for example, a host computer). Thus, even if a failure should occur in a certain path, the higher-level device can send an access request to the storage system via a different path, which has not failed, or carry out load balancing by using a plurality of paths to send a plurality of access requests.
However, when a storage controller such as a NAS is the higher-level device of the storage system, the processing for path selection and load balancing cannot always be carried out appropriately. The reasons for this are as described in (A) and (B) below.
(A) To enable a NAS to receive a packet-prioritized file access request from a client, storage system-oriented processing (for example, path selection and load balancing that connects the NAS to the storage system) can be carried out on the basis of the packet priority level. However, since the packet priority level in essence is a value related to processing between the NAS and the client, and is not a value related to processing relative to a storage system, this processing cannot always be carried out appropriately. Further, since a packet priority level is set by a client or the user thereof, there is also the danger of an illicit value being set.
(B) A file importance level can be set for a file. However, if storage system-oriented processing is carried out simply on the basis of the file importance level, a situation could occur in which priority processing is carried out for a block access request based on a file access request from an inappropriate client rather than for a block access request based on a file access request from an appropriate client.